package model

import (
	"time"
	"sync"
)

//基础model
type BaseModel struct {
	Id        uint64     `gorm:"primary_key;AUTO_INCREMENT;column:id" json:"-"`
	CreatedAt time.Time  `gorm:"column:createdAt" json:"-"`
	UpdatedAt time.Time  `gorm:"column:updatedAt" json:"-"`
	DeletedAt *time.Time `gorm:"column:deletedAt" sql:"index" json:"-"`
}

//用户信息
type UserInfo struct {
	Id        uint64 `json:"id"`
	Username  string `json:"username"`
	Email     string `json:"email"`
	Success   string `json:"success"`
	CreatedAt string `json:"createdAt"`
	UpdatedAt string `json:"updatedAt"`
}

//用户列表
type UserList struct {
	Lock  *sync.Mutex
	IdMap map[uint64]*UserInfo
}

//微贴信息
type PostInfo struct {
	Id        uint64 `json:"id"`
	UserId    uint64 `json:"userId"`
	Title     string `json:"title"`
	ShortId   string `json:"shortId"`
	Content   string `json:"content"`
	CreatedAt string `json:"createdAt"`
	UpdatedAt string `json:"updatedAt"`
}

//微贴列表
type PostList struct {
	Lock  *sync.Mutex
	IdMap map[uint64]*PostInfo
}

//验证token
type Token struct {
	Token string `json:"token"`
}
